import request from '@/utils/request'

// // 策略列表
// export function fetchList(data) {
//   return request({
//     url: '/invest/strategy/findStrategyListsByPage',
//     method: 'post',
//     data
//   })
// }

// 模板下载
export function download() {
  return request({
    url: '/invest/networth/download',
    method: 'get',
    responseType: 'blob', // 下载格式
  })
}

// 上传
export function upload(data) {
  return request({
    url: '/invest/networth/netWorthUpload',
    method: 'post',
    data,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}

// 策略分类属性
export function strategyType(data) {
  return request({
    url: '/invest/strategy/findAllStrategyType',
    method: 'post',
    data
  })
}

// 策略列表
// export function fetchList(data) {
//   return request({
//     url: '/invest/strategy/findStrategyByAllType',
//     // url: '/invest/strategy/findStrategyByAllTypeTuning',
//     method: 'post',
//     data
//   })
// }

// 策略列表
export function fetchList(data) {
  return request({
    url: '/invest/strategy/findStrategyByAllTypeTuning',
    method: 'post',
    data
  })
}

// 编辑详情
export function findStrategyExtraInfoById(strategyId) {
  return request({
    url: `/invest/strategy/findStrategyExtraInfoById`,
    method: 'get',
    params: { strategyId }
  })
}

// id获取策略详情
export function strategyByid(data) {
  return request({
    url: '/invest/strategy/getStrategyByid',
    method: 'post',
    data
  })
}

// 根据策略id和用户id分页获取 净值
export function netWorth(data) {
  return request({
    url: '/invest/networth/findNetWorthByStrategyIdAndUserIdOrderByWorthTime',
    method: 'post',
    data
  })
}

// 获取净值曲线 历史净值
export function netWorthLineReal(data) {
  return request({
    url: '/invest/networth/findNetWorthsByStrategyIdAndUserIdAndNetWorthTime',
    method: 'post',
    data
  })
}

// 获取净值曲线  相对净值
export function netWorthLine(data) {
  return request({
    url: '/invest/networth/findRelativelyNetWorth',
    method: 'post',
    data
  })
}

// 收益风险指标
export function riskIndicators(data) {
  return request({
    url: '/invest/networth/getRiskRateByStrategyId',
    method: 'post',
    data
  })
}

// 历史月度表现
export function getMonthNetWorth(data) {
  return request({
    url: '/invest/networth/getMonthNetWorth',
    method: 'post',
    data
  })
}

// 收益分布
export function getMonthNetWorthLine(data) {
  return request({
    url: '/invest/networth/getMonthNetWorthLine',
    method: 'post',
    data
  })
}

// 收益分布 列表 （月度净值、复权净值，收益率详情接口）
export function findNetWorthExtendByStrategyId2(data) {
  return request({
    url: '/invest/networth/findNetWorthExtendByStrategyId2',
    method: 'post',
    data
  })
}

// 月度回报
export function getMonthNetWorthDistributed(data) {
  return request({
    url: '/invest/networth/getMonthNetWorthDistributed',
    method: 'post',
    data
  })
}

// 月度回报 列表 （净值月度表现列表展示）
export function getMonthNetWorthDetial(data) {
  return request({
    url: '/invest/networth/getMonthNetWorthDetial',
    method: 'post',
    data
  })
}

// 风险概览 （最大回撤接口）
export function findMaxDown(data) {
  return request({
    url: '/invest/networth/findMaxDown',
    method: 'post',
    data
  })
}

// 对比指标 选择树
export function queryAllIndexType(data) {
  return request({
    url: '/invest/index/queryAllIndexType',
    method: 'post',
    data
  })
}


// 保存应用 （保存用户已选指数）
export function saveUserSelectType(data) {
  return request({
    url: '/invest/index/saveUserSelectType',
    method: 'post',
    data
  })
}

// 获取保存应用对比指标 （获取用户所选指数）
export function getUserSelectByUserId(data) {
  return request({
    url: '/invest/index/getUserSelectByUserId',
    method: 'post',
    data
  })
}

// 获取对比指标历史收益走势（根据时间和指数类型获取指数）
export function findIndexByIndexTypeAndIndexTime(data) {
  return request({
    url: '/invest/index/findIndexByIndexTypeAndIndexTime',
    method: 'post',
    data
  })
}

// 对比指数收益走势 (对比指数净值)
export function getIndexRiskByIndexTypeAndTime(data) {
  return request({
    url: '/invest/index/getIndexRiskByIndexTypeAndTime',
    method: 'post',
    data
  })
}

// 对比指标月度表现 （根据指数获取指数月度表现）
export function getMonthlyIndex(data) {
  return request({
    url: '/invest/index/getMonthlyIndex',
    method: 'post',
    data
  })
}

// 对比指标收益分布 （范围内统计月份个数）
export function getMonthlyIndexCount(data) {
  return request({
    url: '/invest/index/getMonthlyIndexCount',
    method: 'post',
    data
  })
}

// 对比指标收益分布图--新 （范围内统计月份个数）
export function getMonthlyIndexCountAndPercent(data) {
  return request({
    url: '/invest/index/getMonthlyIndexCountAndPercent',
    method: 'post',
    data
  })
}

// 对比指标月度回报 （指数增长率分布）
export function getMonthlyIndexDistributed(data) {
  return request({
    url: '/invest/index/getMonthlyIndexDistributed',
    method: 'post',
    data
  })
}
// 季度对比 （指数增长率分布）
export function getIndexNetWorthByQuarter(data) {
  return request({
    url: '/invest/index/getIndexNetWorthByQuarter',
    method: 'post',
    data
  })
}
// 年度对比 （指数增长率分布）
export function getIndexNetWorthByYear(data) {
  return request({
    url: '/invest/index/getIndexNetWorthByYear',
    method: 'post',
    data
  })
}
// 区间对比 （指数增长率分布）
export function getIndexNetWorthBySegment(data) {
  return request({
    url: '/invest/index/getIndexNetWorthBySegment',
    method: 'post',
    data
  })
}

// 对比指数风险概览 （指数的最大回撤）
export function findIndexMaxDown(data) {
  return request({
    url: '/invest/index/findIndexMaxDown',
    method: 'post',
    data
  })
}

// 对比指数收益分布 列表 （获取近1月 3月 6月增长率）
export function findTimeScopeGrowth(data) {
  return request({
    url: '/invest/index/findTimeScopeGrowth',
    method: 'post',
    data
  })
}

// 策略详情附加 （策略详情接口-头部数据）
export function findStrategyDetialHead(data) {
  return request({
    url: '/invest/strategy/findStrategyDetialHead',
    method: 'post',
    data
  })
}

// 添加策略
export function addOrUpdateStrategyInfo(data) {
  return request({
    url: '/invest/strategy/addOrUpdateStrategyInfo',
    method: 'post',
    data
  })
}

// 删除策略
export function deleteStrategyInfo(data) {
  return request({
    url: '/invest/strategy/deleteStrategyInfo',
    method: 'post',
    data
  })
}


/////////////////// 对比


// 收益走势图对比
export function findIncomeRateTrendChart(data) {
  return request({
    url: '/invest/networth/findIncomeRateTrendChart',
    method: 'post',
    data
  })
}

// 回撤走势图对比
export function findDrawDownContrast(data) {
  return request({
    url: '/invest/networth/findDrawDownContrast',
    method: 'post',
    data
  })
}

// 风险指标对比
export function findRiskRateContrast(data) {
  return request({
    url: '/invest/networth/findRiskRateContrast',
    method: 'post',
    data
  })
}

// 对比相关性
export function getProductRelevance(data) {
  return request({
    url: '/invest/networth/getProductRelevance',
    method: 'post',
    data
  })
}

// 手动录入净值
export function addOrUpdateNetWorth(data) {
  return request({
    url: '/invest/networth/addOrUpdateNetWorth',
    method: 'post',
    data
  })
}

export function addNetWorthByText(data) {
  return request({
    url: '/invest/networth/addNetWorthByText',
    method: 'post',
    data
  })
}

// 策略-净值曲线-新版
export function getStrategyNetWorthLine(data) {
  return request({
    url: '/invest/networth/getStrategyNetWorthLine',
    method: 'post',
    data
  })
}

// 策略-最大回撤曲线-新版
export function findMaxDownPlus(data) {
  return request({
    url: '/invest/networth/findMaxDownPlus',
    method: 'post',
    data
  })
}

// 同区间策略
export function findIntersection(data) {
  return request({
    url: '/invest/networth/findIntersection',
    method: 'post',
    data
  })
}

// ----------------- v0.2.0 优化 -----------------

// 季度区间收益-策略
export function getStrategyQuarter(data) {
  return request({
    url: '/invest/networth/getStrategyQuarter',
    method: 'post',
    data
  })
}
// 年度区间收益-策略
export function getStrategyYear(data) {
  return request({
    url: '/invest/networth/getStrategyYear',
    method: 'post',
    data
  })
}
// 区间收益-策略
export function getStrategySegment(data) {
  return request({
    url: '/invest/networth/getStrategySegment',
    method: 'post',
    data
  })
}
// 区间收益-季度-柱状图
export function getQuarterNetWorthDistributed(data) {
  return request({
    url: '/invest/networth/getQuarterNetWorthDistributed',
    method: 'post',
    data
  })
}
// 区间收益-年度-柱状图
export function getYearNetWorthDistributed(data) {
  return request({
    url: '/invest/networth/getYearNetWorthDistributed',
    method: 'post',
    data
  })
}
// 区间收益-区间-柱状图
export function getSegmentNetWorthDistributed(data) {
  return request({
    url: '/invest/networth/getSegmentNetWorthDistributed',
    method: 'post',
    data
  })
}






